Einbau petition.php mit Captcha-Codierung zur Vermeidung bzw. extrem reduzierung von Spambots
zu ndernde Datei: petition.php
Kopiere die Datein aus dem  Ordner require in den Ordner require im Root-Verzeichnis.und die config.php in den Ordner Config. Falls
dieser noch nicht existiert bitte erstellen.
WICHTIG: Vorher Sicherungskopien machen der petition.php ;)

Fragen hierzu an : Rikkarda@silienta-logd.de
Anpera Nick: Rikkarda
icq 212076731
oder im Forum von Silienta 


ffne Petition.php

suche:


require_once "common.php";


fge danach ein:


// CaptchaImage-Klasse einbinden
require_once 'require/captcha_image.class.php';

// Crypt-Klasse einbinden
require_once 'require/crypt.class.php';

// CaptchaImage-Klasse initialisieren
$GLOBALS['captcha_image_class'] = new captcha_image_class();

// Crypt-Klasse initialisieren
$GLOBALS['crypt_class'] = new crypt_class();

echo "<script type=\"text/javascript\">";
echo "<!-- function popup(){";
echo "window.alert(\"Meldung\",\"Test\"); }//-->";
echo "</script>";




suche:

}else{
	popup_header("Anfrage fr Hilfe");
	if (count($_POST)>0){
		$p = $session[user][password];
		unset($session[user][password]);
		/*
		mail(getsetting("gameadminemail","niemand@localhost"),"LoGD Anfrage",output_array($_POST,"POST:").output_array($session,"Session:"));
		$sql = "SELECT acctid FROM accounts WHERE emailaddress='".getsetting("gameadminemail","postmaster@localhost")."'";
		//output($sql);
		$result = db_query($sql);
		if (db_num_rows($result)==0){
			$sql = "SELECT acctid FROM accounts WHERE superuser>=3";
			$result = db_query($sql);
		}
		for ($i=0;$i<db_num_rows($result);$i++){
			$row = db_fetch_assoc($result);
			systemmail($row[acctid],"Petition",output_array($_POST),(int)$session[user][acctid]);
		}
		*/
		$sql = "INSERT INTO petitions (author,date,body,pageinfo,lastact) VALUES (".(int)$session[user][acctid].",now(),\"".addslashes(output_array($_POST))."\",\"".addslashes(output_array($session,"Session:"))."\",NOW())";
		db_query($sql);
		$session[user][password]=$p;
		output("Deine Anfrage wurde an die Admins gesendet. Bitte hab etwas Geduld, die meisten Admins 
		haben Jobs und Verpflichtungen ausserhalb dieses Spiels. Antworten und Reaktionen knnen eine Weile dauern.");
}


Text kann natrlich von Dorf zu Dorf variieren



ersetze diesen Part mit:

}else{
	popup_header("Anfrage fr Hilfe");
	if (count($_POST)>0){
	  
    if(($_POST['pet_user_captcha_string'] == $GLOBALS['captcha_image_class']->get_decode_captcha_string($_SESSION['captcha_string']))
       && (strlen($_POST['description']) > 1) && ((strlen($_POST['charname']) > 1) || (strlen($_POST['email']) > 5)) )
    { 
		  $p = $session[user][password];
		  unset($session[user][password]);
		  /*
  		mail(getsetting("gameadminemail","niemand@localhost"),"LoGD Anfrage",output_array($_POST,"POST:").output_array($session,"Session:"));
  		$sql = "SELECT acctid FROM accounts WHERE emailaddress='".getsetting("gameadminemail","postmaster@localhost")."'";
  		//output($sql);
  		$result = db_query($sql);
  		if (db_num_rows($result)==0){
  			$sql = "SELECT acctid FROM accounts WHERE superuser>=3";
  			$result = db_query($sql);
  		}
  		for ($i=0;$i<db_num_rows($result);$i++){
  			$row = db_fetch_assoc($result);
  			systemmail($row[acctid],"Petition",output_array($_POST),(int)$session[user][acctid]);
  		}
  		*/
  		$sql = "INSERT INTO petitions (author,date,body,pageinfo) VALUES (".(int)$session[user][acctid].",now(),\"".addslashes(output_array($_POST))."\",\"".addslashes(output_array($session,"Session:"))."\")";
  		db_query($sql);
  		$session[user][password]=$p;
  		output("Deine Anfrage wurde an die Admins gesendet. Bitte hab etwas Geduld, die meisten Admins 
  		haben Jobs und Verpflichtungen ausserhalb dieses Spiels. Antworten und Reaktionen knnen eine Weile dauern.");
    }
    else
    {
      output("<form action='petition.php?op='>
      `4`cDeine Anfrage war entweder leer, der Sicherheitscode fehlte oder es wurde weder Charname noch Mailadresse angegeben!!!`n`n`n`c
              `c<input type='submit' class='button' value='Zurck'>`n", true);  
    }
    
  }  		
  else{
		output("<form action='petition.php?op=submit' method='POST'>
		Name deines Characters: <input name='charname'>`n
		Deine E-Mail Adresse: <input name='email'>`n
		Beschreibe dein Problem:`n
		<textarea name='description' cols='30' rows='5' class='input'></textarea>`n`n
		`c<img src='require/captcha_image.php?<? echo md5(uniqid(rand(), true)) ? >'>`n`n
    Besttigungscode:
		<input type='text' name='pet_user_captcha_string'>`n`n
		<input type='submit' class='button' value='Absenden'>`n
		Bitte beschreibe das Problem so przise wie mglich. Wenn du Fragen ber das Spiel hast,
		check die <a href='petition.php?op=faq'>FAQ</a>.  `nAnfragen, die das Spielgeschehen betreffen, werden 
		nicht bearbeitet - es sei denn, sie haben etwas mit einem Fehler zu tun.
		</form>
		",true);
	}
}




speichern und up

